---
title: 文档yml简单展示
sidebar_position: 2
---

本站点就是通过之前介绍的方案搭建并部署的, 所以这边就见到那展示一下 `.drone.yml` 文件的内容, 该文件是 Drone CI 的配置文件, 用于定义 CI/CD 流水线

一般来说正常使用的时候只要关注下面高亮的部分即可, 其他细节的部分基本上是固定的

```yml
# 基础配置,开头基本上都这样写
kind: pipeline
type: docker
name: default

# 克隆配置,跳过证书验证
clone:
  skip_verify: true

# 工作流配置, 主要就是定义执行的步骤
steps:
  # 第一步就是打包(实际上在此之前还有个clone,但是clone是默认的,所以在没有特殊需求的情况下一般直接省略)
  - name: pack
    # 设定只在mian分支上执行
    // highlight-start
    when:
      branch:
        - main
    // highlight-end
    # 使用docker镜像进行打包操作, 也是固定搭配
    image: docker:dind
    # 设定后续使用的环境变量
    // highlight-start
    environment:
      IMAGE: collapsenav-dotnet-tool-doc
    // highlight-end
    # 挂载, 基本上也是固定搭配
    volumes:
      - name: dockersock
        path: /var/run/docker.sock
    # 具体执行的命令, 这边的步骤是打包, 所以直接执行打包命令即可
    // highlight-start
    commands:
      - docker build -t $IMAGE .
    // highlight-end
  - name: push
    when:
      branch:
        - main
    image: docker:dind
    // highlight-start
    environment:
      IMAGE: collapsenav-dotnet-tool-doc
      # 这边的环境变量是从drone的secret中获取, 可以在drone里面单独设置, 这边是用于登录私有化的docker仓库
      DOCKERUSER:
        from_secret: dockeruser
      DOCKERPWD:
        from_secret: dockerpwd
    // highlight-end
    volumes:
      - name: dockersock
        path: /var/run/docker.sock
    // highlight-start
    commands:
      - export datetag=$(date +%Y-%m-%d-%H-%M)
      - export dockerorigin=docker.collapsenav.cn
      - docker login $dockerorigin -u $DOCKERUSER -p $DOCKERPWD
      - docker tag $IMAGE $dockerorigin/doc/$IMAGE
      - docker tag $IMAGE $dockerorigin/doc/$IMAGE:$datetag
      - docker push $dockerorigin/doc/$IMAGE
      - docker push $dockerorigin/doc/$IMAGE:$datetag
    // highlight-end
# 也是固定配置了, 用于挂载docker的sock
volumes:
  - name: dockersock
    host:
      path: /var/run/docker.sock

```





